/*oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO

Authors: Nitay Megides
		 Rachel Banino

Project: Exercise 3

Using:	Manager.h
		General.h
		hw_code\Bmp24LineReader.h
		
Description:
Locator locates faces in the picture. It loads the picture line by line, 
and whenever it has enough lines to work with, it scans for faces. The
described process works paralelly on different areas, on different threads.
This module works tightly with the loader.

oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO*/

#ifndef LOCATOR_H
#define LOCATOR_H


#include "Manager.h"
#include "General.h"
#include "hw_code\Bmp24LineReader.h"


/* LocatorInitialize(PArea areas, int areasCount)
 * -----------------------------------
 * Initializes the Locator, and creates all the threads needed
 *
 * areas - The areas on which to start a locator thread on
 * areasCount - How many areas we have										*/
BOOL LocatorInitialize(PArea areas, int areasCount);

/* LocatorFree()
 * -----------------------------------
 * Frees the locator, waiting for all the threads to finish					*/
void LocatorFree();

/* LocatorStartWorking()
 * -----------------------------------
 * Start the face locating process											*/
void LocatorStartWorking();

/* LocatorWaitForFinish(int timeout)
 * -----------------------------------
 * Wait for all the locator threads to finish								*/
BOOL LocatorWaitForFinish(int timeout);


#endif // LOCATOR_H